.. _cmlPmStReadMotionState: cmlPmStReadMotionState ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlPmStReadMotionState ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel, [out] VT_PI4 MotStates ) DESCRIPTION ````````````` - cmlPmStReadMotionState() 함수는 현재 모션의 동작 상태를 반환합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ NodeId : 사용자가 제어하고자 하는 노드 번호. ▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. ▶ MotStates : 모션 상태. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 모션작업 도중 에러 발생 => 에러코드 참조. 0 (cmlMST_STOP), Stop 1 (cmlMST_WAIT_DR), Waiting for DR input signal 2 (cmlMST_WAIT_STA), Waiting for STA input signal 3 (cmlMST_WAIT_INSYNC), Waiting for internal sync. signal 4 (cmlMST_WAIT_OTHER), Waiting other axis 5 (cmlMST_WAIT_ERC), Waiting for ERC output finished 6 (cmlMST_WAIT_DIR), Waiting for DIR change (DIR은 외부 입력 신호가 아닌 내부적인 신호임) 7 (cmlMST_RESERVED1), Reserved 8 (cmlMST_WAIT_PLSR), Waiting for PA/PB input signal 9 (cmlMST_IN_RVSSPD), In home special speed (reverse speed) 10(cmlMST_IN_INISPD), In start velocity motion 11(cmlMST_IN_ACC), In acceleration 12 (cmlMST_IN_WORKSPD), In working velocity 13 (cmlMST_IN_DEC), In deceleration 14 (cmlMST_WAIT_INP), Waiting for INP input signal 15 (cmlMST_SPARE0), Reserved 16 (cmlMST_HOMMING), In Homming RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 ERR_NONE, 수행 성공 REFERENCE ````````````` - 논리적 단위 거리는 cmlPmCfgSetUnitSpeed() 함수에 의해 결정됩니다. EXAMPLE ``````````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink2_SDK.h” #include “ComiMLink2_SDK_Def.h” long BoardID = 0; char szMstList[18][20] = { "Stop", "Wait DR", "Wait STA", "Wait INSYNC", "Wait Other Axis", "Wait ERC", "Wait DIR", "Reserved1", "Wait PA/PB", "On Reverse Speed", "On Initial Speed", "On Acceleration", "On Work Speed", "On Deceleration", "Wait INP", "Reserved", “In Homming”, “” }; long nMST = 0; //0번 축의 모션 상태를 반환합니다. cmlPmStReadMotionState(BoardID, 0, ccmlX1, &nMST ); if( nMST < 0 ) { OutputDebugString( "ReadMotionState Error!" ); } //화면에 표시할 문자열을 조합합니다. CString sMsg = "Current Motion State : " + szMstList[nMST]; //DisplayStatus() 함수는 화면에 상태를 표시하는 가상의 함수입니다. DisplayStatus( sMsg ); SEE ALSO ``````````` .. seealso:: :ref:`cmlPmStGetMstString`